<?php
    @include_once("conn.php");
    @include_once("common.php"); 
    
    $key = $_GET["key"]; // 对应字段名 接收数据   =>搜索的关键词
    $orderCol = $_GET["orderCol"]; // 对应字段名 接收数据   =>排序的列名 (id,chinese math english total)
    $orderType = $_GET["orderType"]; // 对应字段名 接收数据   =>排序的方式 (asc desc)
    $pageIndex = $_GET["pageIndex"];  // 页码
    $showNum = $_GET["showNum"];      // 每页显示多少条

    // if(!($orderCol&&$orderType&&$pageIndex&&$showNum)){
    //     argErr();
    // }

    // 兼容低版本   (上线 低版本)    不传参 就采用默认值
    // $key = isset($_GET["key"]) ? $_GET["key"] : "";   // 是否存在字段名 key  存在则接收   不存在使用默认值
    // $orderCol = isset($_GET["orderCol"]) ? $_GET["orderCol"] : "id";
    // $orderType = isset($_GET["orderType"]) ? $_GET["orderType"] : "asc";
    
    // $keyList = mbStrSplit($key,1); // 把key按照单个字符拆分为数组
    // $key = join($keyList,"%");

    // print_r($keyList);
    // echo $key;


    // 问题 $pageIndex 可能超出最大值 || 小于最小值  => 范围限制
    // 最大值 = 总数据 / 每页显示多少条   $maxPage =  $count / $showNum

    // $count  总数据不知道  => 从数据库中查找满足条件的数据
    $searchAll = "select count(*) as count from `xm` where goodsName like '%$key%'";
    $result = mysqli_query($conn,$searchAll);
    $item = mysqli_fetch_assoc($result);
    // print_r($item);
    $count = $item["count"]*1;
    // echo $count;

    $maxPage = ceil($count / $showNum);
    // echo $maxPage;

    if($pageIndex > $maxPage){
        $pageIndex =  $maxPage;
    }

    if($pageIndex < 1){
        $pageIndex =  1;
    }

    // echo $pageIndex;


    // 后端分页
    // $pageIndex   $showNum 
    // 1    limit 0,5
    // 2    limit 5,5
    // 3    limit 10,5
    // 4    limit 15,5

    //      limit     ($pageIndex-1)*$showNum  , $showNum
    
    


    // $skipNum = ($pageIndex-1)*$showNum;  //跳过多少条

    //  执行查询语句  => 结果对象
    $search = "select * from `xm` where goodsName like '%$key%' order by $orderCol $orderType limit $pageIndex,$showNum";
    // echo $search;
    
    $result = mysqli_query($conn,$search);
    // print_r($result);

    // 多数据查询   循环解析,每次解析之后 将数据放到总的集合中
    $all = array();
    while($item = mysqli_fetch_assoc($result)){   // 解析传入的结果对象 赋值给变量$item , 解析成功 有数据 => true 下次继续解析,  解析失败(没有数据 =>false  跳出循环) 
        
        // 数据的预处理   $item  每次查询的数据

        //  $item["goodsMsg"] =  $item["goodsMsg"] * 1;

        // $item["smallPicList"] = explode(",",$item["smallPicList"]);
        $item["goodsImg"] = explode(",",$item["goodsImg"]);

        $item["goodsImg"] =  $item["goodsImg"][0];

        array_push($all,$item); 
    }
    
    // echo json_encode($all);  // 将数据转为json类型的字符串  并输出   [{},{}]

    // 前端处理对应的数据  还需要直到最大页 maxPage
    // {
    //     maxPage
    //     all
    // }

    $obj = array();
    $obj["maxPage"] = $maxPage;
    $obj["count"] = $count;
    $obj["list"] = $all;

    echo json_encode($obj);


?>